package com.example.liunanxin.uldemo.Rcecylerview;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;

import com.example.liunanxin.uldemo.R;

import java.util.List;

public class RecyclerViewAdapter extends RecyclerView.Adapter<ItemViewHolder> {


        private List<DataItem> dataItemList;
        public void setData(List<DataItem> dataItemList){
            this.dataItemList=dataItemList;
            notifyDataSetChanged();
        }

        @NonNull
        @Override
        public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
            // 获取 LayoutInﬂater 对象，它可以根据布局定义的内容⽣生成⼀一个 View 对象
            LayoutInflater layoutInﬂater = LayoutInflater.from(viewGroup.getContext());
            // ⽣生成 View 对象，
            View itemView = layoutInﬂater.inflate(R.layout.item_layout, viewGroup, false);
            // 实例例化⼀一个 ViewHolder
            ItemViewHolder viewHolder = new ItemViewHolder(itemView);
            // 返回 ViewHolder
            return viewHolder;
        }

        @Override
        public void onBindViewHolder(@NonNull ItemViewHolder itemViewHolder, final int i) {
            // 说明： i 是数据项的位置，决定了了显示的次序， i==0 ，就是第⼀一条
            // 获取第 i 条数据
            final DataItem dataItem = dataItemList.get(i);
            // 将第 i 条数据绑定到列列表项（ View ）中。 ImageView 未做处理理，后⾯面课程会介绍
            itemViewHolder.textView1.setText(dataItem.getText1());
            itemViewHolder.textView2.setText(dataItem.getText2());
            itemViewHolder.itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Toast.makeText(view.getContext(),"111"+dataItemList.get(i).getText1(), Toast.LENGTH_SHORT).show();

                }
            });

        }

        @Override
        public int getItemCount() {
            return dataItemList.size();
        }
    }


